package models

import (
	"context"
	"go-chain-data/global"
	"go.mongodb.org/mongo-driver/bson"
)

type UserToken struct {
	UserID       string  `bson:"userId" json:"userId"`
	TokenID      string  `bson:"tokenId" json:"tokenId"`
	ChainName    string  `bson:"chainName" json:"chainName"`
	ChainID      int64   `bson:"chainId" json:"chainId"`
	Address      string  `bson:"address" json:"address"`
	Name         string  `bson:"name" json:"name"`
	Symbol       string  `bson:"symbol" json:"symbol"`
	Decimals     int32   `bson:"decimals" json:"decimals"`
	TotalSupply  string  `bson:"totalSupply" json:"totalSupply"`
	ApplyStatus  string  `bson:"applyStatus" json:"applyStatus"` //上币申请状态 1: 申请中 2: 申请成功 3: 申请失败
	MainCoinType uint64  `bson:"mainCoinType" json:"mainCoinType"`
	MinAmount    float64 `bson:"minAmount" json:"minAmount"`
}

func GetUserTokenInfoByAddress(address string) (UserToken, error) {
	tokenClient := global.DBEngine.Database(global.DbConfig.DbName).Collection("token")
	filter := bson.D{{"address", address}}
	var userToken UserToken
	err := tokenClient.FindOne(context.Background(), filter).Decode(&userToken)
	return userToken, err
}
